#include<stdio.h>
#include<sys/stat.h>
#include<sys/types.h>
#include<fcntl.h>
#include<unistd.h>
#include<string.h>


//int main()
//{
//    //_fileno存储的是文件描述符
//    printf("stdin: %d\n",stdin->_fileno);
//    printf("stdout: %d\n",stdout->_fileno);
//    printf("stderr: %d\n",stderr->_fileno);
//
//
//
//    umask(0); 
//    //int fd=open("log.txt",O_WRONLY|O_CREAT|O_APPEND,0666);
//    //if(fd<0)
//    //{
//    //    perror("open");
//    //    return 1;
//    //}
//     
//    int fd1=open("log.txt",O_WRONLY|O_CREAT|O_APPEND,0666);
//    printf("open success fd1:%d\n",fd1);
//    int fd2=open("log.txt",O_WRONLY|O_CREAT|O_APPEND,0666);
//    printf("open success fd2:%d\n",fd2);
//    int fd3=open("log.txt",O_WRONLY|O_CREAT|O_APPEND,0666);
//    printf("open success fd3:%d\n",fd3);
//    int fd4=open("log.txt",O_WRONLY|O_CREAT|O_APPEND,0666);
//    printf("open success fd4:%d\n",fd4);
//    int fd5=open("log.txt",O_WRONLY|O_CREAT|O_APPEND,0666);
//    printf("open success fd5:%d\n",fd5);
//
//   
//    //读文件 ssize_t read(int fd, void *buf, size_t count);
//   // char arr[64];
//   // memset(arr,'\0',sizeof(arr));
//   // read(fd,arr,sizeof(arr));
//
//   // printf("%s",arr);
//
//    
//   //写文件 ssize_t write(int fd, const void *buf, size_t count);
//   //char* arr="write file\n";
//   //write(fd,arr,strlen(arr));//strlen不需要+1，那是C语言的语法规则，系统操作不需要遵循
//    
//
//   // FILE*fp=fopen("log.txt","a+");
//   // if(fp==NULL)
//   // {
//   //     perror("fopen");
//   //     return 1;
//   // }
//   //
//   //char s[]="hello linux\n";
//   //fwrite(s,1,sizeof(s),fp);
//
//   // fclose(fp);
//    return 0;
//}

int main()
{
    int fd=open("newflie",O_WRONLY|O_CREAT|O_APPEND,0666);
    if(fd<0)
    {
        perror("open");
        return 1;
    }

    //dup2(fd,1);//输入重定向   int dup2(int oldfd, int newfd); newfd替换成oldfd
    const char*s="hello Basic IO";
    printf("%s\n",s);

    return 0;
}

